草庐IT

java - 访问内部匿名类成员

全部标签

javascript - 为什么谷歌的闭包库不使用真正的私有(private)成员?

我成为JavaScript开发人员已有一段时间了,我一直认为在JavaScript中实现私有(private)成员的正确方法是使用DougCrockford在此处概述的技术:http://javascript.crockford.com/private.html.在我开始使用GoogleClosure库之前,我不认为这是一个特别有争议的JavaScript智慧。想象一下我的惊讶......图书馆没有努力使用Crockford风格的信息隐藏。他们所做的只是使用特殊的命名约定并在文档中注明“私有(private)”成员。我习惯于假设Google的人通常处于软件质量的领先地位,那又如何呢?遵

JavaScript - 如何在函数内部调用函数?

我有以下JavaScript代码:functionparentFunc(){functionchildFunc(){...}...}//outsideofmyParentFunc,howdoIcallmyChildFunc()?childFunc();//doesn'twork如何从parentFunc()外部调用childFunc()?更新:我知道显而易见的答案是将childFun移到parentFun之外,但这是我无法修改的第三方库。 最佳答案 参见exposinginnerfunctions到外面的世界。

javascript - 如果存在同名的局部变量,如何访问闭包中的变量?

我从GoogleCodePlayground中获取了这个http://code.google.com/apis/ajax/playground//*CLOSURE*Whenafunctionisdefinedinanotherfunctionandit*hasaccesstotheouterfunction'scontextevenafter*theouterfunctionreturns*AnimportantconcepttolearninJavascript*/functionouterFunction(someNum){varsomeString='Hai!';varconte

java - 有效地在不同的虚拟机之间复制对象

我觉得我要问一个“愚蠢”的问题,但我必须问...我有2个虚拟机。我想将一个对象的实例从一个复制到另一个,是否可以在VM的堆中复制表示此对象的位,将其发送到另一个VM,就像另一个VM只需要在它的内存中分配这些位并在它的堆栈中添加一个引用到这个内存插槽...?目前,为了做这样的事情,我们序列化对象并反序列化它,这比按原样复制实例效率低得多(在计算方面)...解析是一种计算浪费...JS序列化示例:每个VM都是V8的一个实例(JavaScript),一种方法是将对象转换为JSON(JSON.stringify),将它发送到另一个VM,后者获取字符串并将其转换回对象(例如varmyObject

java - 在 Java.util.Date 中解析 org.mozilla.javascript.NativeDate

我正在尝试将从使用rhino库评估的JavaScript脚本获取的日期解析为java.util.Date,我可以将org.mozilla.javascript.NativeDate转换为java.util.Date吗?如果使用Context.tostring方法将NativeDate转换为字符串,我将获得以下格式的日期:WedOct12201116:17:59GMT+0200(CEST)如何将此字符串日期表示解析为java.util.Date对象? 最佳答案 在Rhino中使用context.jsToJava(nativeDateO

javascript - URL 中有无 www 的访问控制允许来源问题

我做了一个小的gwt应用程序并发布了它,但是今天我发现了一个严重的问题。我知道同源策略问题,所以我将我的gwt应用程序和restjson应用程序放在同一台服务器上。但显然浏览器不考虑http://www.xyz.com和http://xyz.com作为同一来源,因此当用户登陆www.xyz.com时,他无法从http://xyz.com获取数据。.这是消息:XMLHttpRequestcannotloadhttp://xyz.com/backend/...Originhttp://www.xyz.comisnotallowedbyAccess-Control-Allow-Origin.

javascript - Chrome 开发者工具控制台 - 日志堆叠,如何查看重新记录的内容 [内部屏幕截图]?

我刚刚开始使用Chrome开发者工具中的控制台(一般来说对Javascript来说还是个新手)。我注意到,当我连续两次记录同一个变量(在本例中是一个对象)时,日志会堆叠它并在它旁边放置一个小数字图标。我点击这个以为我将能够看到该对象两次(因为它已经更新了两次),但是没有任何反应。更多说明图片:如您所见,Object下拉列表旁边的蓝色圆圈中有一个小“2”。第一个日志在3处有Object.num,第二个在4处,但是我只能看到第二个。任何关于如何查看两个日志的答案都将不胜感激。:). 最佳答案 发生这种情况是因为您两次记录同一个对象。即使

javascript - 如何从字符串中调用匿名函数

我有包含匿名函数定义的字符串,但我该如何调用它。假设函数是这样的:varfn_str="function(){alert('called');}";尝试了eval,但出现函数必须有名称的错误。eval(fn_str).apply(this);//SyntaxError:functionstatementrequiresaname 最佳答案 您可以使用立即调用的函数表达式:varfn_str="function(){alert('called');}";eval('('+fn_str+')();');ImmediatelyInvoke

javascript - 从 iFrame/Window 访问 JavaScript 中的父对象

如何在子窗口中访问定义在父窗口中的全局对象或数组。varevents_data;functionfunction_to_fill_events_data(){...}当我在迷你文档中时,我希望能够访问javascript函数中的events_data变量。 最佳答案 选项1您的标题提到了一个子窗口。如果你有一个子窗口,而不是一个iframe,使用这个:window.opener.events_data查看window.openeronMDN.选项2您的代码表明您使用的是iframe。在iframe中,只需使用parent:paren

javascript - 为什么 Javascript 不允许函数从自身内部重新定义自身?

考虑代码:window.a=function(x){varr=x*2;window.a=alert;//redefinesitselfafterfirstcallreturnr;};a('2*2='+a(2));//doesn'twork.itshould'vealerted"2*2=4"这也行不通:window.a=function(x){alert(x);window.a=function(x){//redefinesitselfafterfirstcallvarr=x*2;returnr;}};a('2*2='+a(2));//doesn'twork.itshould'veale